package com.sikaryofficial.workbench.domain.dto.req.order;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class OrderDataSyncDetail {
    /**
     * 子订单ID
     */
    @ApiModelProperty(value = "子订单ID")
    private Long orderItemId;

    /**
     * 订单ID
     */
    @ApiModelProperty(value = "订单ID")
    private Long orderHeaderId;

    /**
     * 子订单编号【品牌代号_年份_月份_订单序号】
     */
    @ApiModelProperty(value = "子订单编号")
    private String orderItemNo;

    /**
     * 商品名称
     */
    @ApiModelProperty(value = "商品名称")
    private String goodsName;

    /**
     * 商品ID
     */
    @ApiModelProperty(value = "商品ID")
    private Long goodsId;

    /**
     * 商品关联ID
     */
    @ApiModelProperty(value = "口味ID")
    private Long goodsRelationId;

    /**
     * 数量(烟杆)
     */
    @ApiModelProperty(value = "数量")
    private Integer quantity;

    /**
     * 单价
     */
    @ApiModelProperty(value = "单价")
    private BigDecimal unitPrice;

    /**
     * 币种
     */
    @ApiModelProperty(value = "币种")
    private String currency;
    /**
     * 现价，币种为订单主体币种
     */
    @ApiModelProperty(value = "现价，币种为订单主体币种")
    private BigDecimal currentPrice;

    /**
     * 未税总价
     */
    @ApiModelProperty(value = "未税总价")
    private BigDecimal totalPrice;
    /**
     * 含税总价
     */
    @ApiModelProperty(value = "含税总价")
    private BigDecimal taxIncludeTotalPrice;

    /**
     * 品牌编码
     */
    @ApiModelProperty(value = "品牌编码")
    private String brandNo;

    /**
     * 口味
     */
    @ApiModelProperty(value = "口味")
    private String tasteName;

    /**
     * 型号
     */
    @ApiModelProperty(value = "型号")
    private String model;

    /**
     * 款式: style:disposable 一次性,cartridge 弹药筒,opentype 开放式
     */
    @ApiModelProperty(value = "款式：style:disposable 一次性,cartridge 弹药筒,opentype 开放式")
    private String style;

    /**
     * 订单定制ID
     */
    @ApiModelProperty(value = "订单定制ID")
    private String orderCustomizedId;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 租户号
     */
    private String tenantId;

    /**
     * 乐观锁
     */
    private String revision;

    /**
     * 创建人
     */
    private Long createdBy;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新人
     */
    private Long updatedBy;

    /**
     * 更新时间
     */
    private Date updatedTime;

    /**
     * 删除版本：默认为0；删除则赋值当前记录主键ID
     */
    private String deletedVersion;

    /**
     * 产品编号，仅作用于内网环境
     */
    @ApiModelProperty(value = "产品编号")
    private String productNo;

    /**
     * 税率
     */
    @ApiModelProperty(value = "税率")
    private BigDecimal taxRate;

    /**
     * 失效日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "失效日期")
    private Date expiringDate;

    /**
     * 封面图片
     */
    @ApiModelProperty(value = "封面图片")
    private String coverUrl;
}
